]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
4 years agoextensions-app: Use `.heading` class for headings
Romain Vigier [Mon, 4 Oct 2021 13:22:09 +0000 (15:22 +0200)]
extensions-app: Use `.heading` class for headings

Don't hardcode headings styling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>

4 years agoextensions-app: Use Adw.Application's automatic style loading
Florian Müllner [Wed, 5 Jan 2022 13:51:53 +0000 (14:51 +0100)]
extensions-app: Use Adw.Application's automatic style loading

Now that we switched to AdwApplication, we can automate loading
the custom stylesheet by simply using the expected name and
resource prefix.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>

4 years agoextensions-app: Use AdwApplication
Romain Vigier [Mon, 4 Oct 2021 13:18:51 +0000 (15:18 +0200)]
extensions-app: Use AdwApplication

Initialize libadwaita, which loads the libadwaita stylesheet
and allow following the dark style preference of the system.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1997>

4 years agodateMenu: Port to GWeather 4.0
Florian Müllner [Wed, 5 Jan 2022 02:18:08 +0000 (03:18 +0100)]
dateMenu: Port to GWeather 4.0

Besides dropping its GTK dependency (which doesn't affect us),
GWeather 4.0 replaces its own timezone type with GTimeZone.

It's easy enough to adjust to that, so port over to the new
version.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2083>

4 years agoenvironment: Require libgweather 3.0
Florian Müllner [Wed, 5 Jan 2022 01:42:49 +0000 (02:42 +0100)]
environment: Require libgweather 3.0

GWeather did a major version bump on its main branch, so it is
now possible that multiple versions are installed in parallel,
and we should explicitly pick the one we are using.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2083>

4 years agotheme: Use updated bell icon
Jakub Steiner [Tue, 4 Jan 2022 13:55:54 +0000 (14:55 +0100)]
theme: Use updated bell icon

- the symbolic for notifications changed

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4913

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2082>

4 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 4 Jan 2022 13:38:00 +0000 (14:38 +0100)]
Updated Spanish translation

4 years agoiconGrid: Remove unused spring animation code
Sebastian Keller [Sat, 1 Jan 2022 18:13:03 +0000 (19:13 +0100)]
iconGrid: Remove unused spring animation code

The spring animation has not been used since 40.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2081>

4 years agoappDisplay: Remove leftover code from the spring animation
Sebastian Keller [Sat, 1 Jan 2022 18:12:19 +0000 (19:12 +0100)]
appDisplay: Remove leftover code from the spring animation

These are some leftovers from when the shell stopped using the spring
animation in 40.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2081>

4 years agoUpdate Serbian translation
Мирослав Николић [Wed, 29 Dec 2021 17:46:10 +0000 (17:46 +0000)]
Update Serbian translation

(cherry picked from commit 1f231dad043d082174bd123fc111546edb062bfc)

4 years agobuild: Drop incorrect positional arg
Florian Müllner [Thu, 23 Dec 2021 16:18:16 +0000 (17:18 +0100)]
build: Drop incorrect positional arg

Unlike other targets that take a name, i18n.merge_file() does not.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2078>

4 years agolockScreen: Don't wake up screen in DND mode
kyte [Sat, 27 Nov 2021 07:50:23 +0000 (13:20 +0530)]
lockScreen: Don't wake up screen in DND mode

Screen woke up whenever a new notification popped up
on lock screen even when DND was turned on.
This commit changes this behaviour to not wake
the screen up in such case.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4710

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2051>

4 years agobuild: Use meson's gnome.post_install()
Florian Müllner [Wed, 22 Dec 2021 19:11:31 +0000 (20:11 +0100)]
build: Use meson's gnome.post_install()

... instead of the external script.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2077>

4 years agobuild: Replace deprecated meson functions
Florian Müllner [Thu, 23 Dec 2021 01:40:22 +0000 (02:40 +0100)]
build: Replace deprecated meson functions

Replace deprecated functions with their direct replacements:

 - dep.get_pkgconfig_variable() → dep.get_variable()
 - prg.path() → prg.full_path()
 - source/build_root() → project_source/build_root()

In one case we need meson.global_source_root() that was only
added in meson 0.58, so bump the requirement to that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2077>

4 years agoUpdate Indonesian translation
Kukuh Syafaat [Thu, 23 Dec 2021 04:08:28 +0000 (04:08 +0000)]
Update Indonesian translation

4 years agoextensions-app: Start as service when D-Bus activated
Florian Müllner [Wed, 22 Dec 2021 14:48:48 +0000 (15:48 +0100)]
extensions-app: Start as service when D-Bus activated

When the app is properly launched, D-Bus activation will be followed
by a call to org.freedesktop.Application.Activate() to open the window.

But it's also possible for D-Bus activation to happen in other
circumstances, for example during gdbus command line completion.

We don't want to pop up a window then, so pass the --gapplication-service
flag to properly separate D-Bus activation from activating the app.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2076>

4 years agoworkspaceAnimation: Make WorkspaceGroup public
Sergio Costas [Sat, 18 Dec 2021 23:05:21 +0000 (00:05 +0100)]
workspaceAnimation: Make WorkspaceGroup public

The WorkspaceGroup class in defined as CONST, which means that,
strictly speaking, is inaccessible from outside the file
workspaceAnimation.js. But Desktop Icons NG needs access to it.

Although the current Javascript engine "tolerates" this access,
a warning message is shown in the log advertising that it's
incorrect, and that although it is still allowed, the code
should be fixed.

This patch changes the definition from CONST to VAR to allow
accessing it from extensions.

jk

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2068>

4 years agotests: Add unit test for highlighter
Sebastian Keller [Wed, 17 Nov 2021 02:05:05 +0000 (03:05 +0100)]
tests: Add unit test for highlighter

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2033>

4 years agoutil: Properly handle markup in highlighter
Sebastian Keller [Wed, 17 Nov 2021 01:50:39 +0000 (02:50 +0100)]
util: Properly handle markup in highlighter

The code to highlight matches did not properly escape the passed in text
as for markup before adding its highlighting markup. This lead to some
search result descriptions not showing up, because their descriptions
contained characters, such as "<", that would have to be escaped when
used in markup or otherwise lead to invalid markup.

To work around this some search providers wrongly started escaping the
description on their end before sending them to gnome-shell. This lead
to another issue. Now if the highlighter was trying to highlight the
term "a", and the escaped description contained "&apos;", the "a" in
that would be considered a match and surrounded by "<b></b>". This
however would also generate invalid markup, again leading to an error
and the description not being shown.

Fix this by always escaping the passed in string before applying the
highlights in such a way that there are no matches within entities.

This also means that search providers that escaped their description
strings will now show up with the markup syntax. This will have to be
fixed separately in the affected search providers.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4791
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2033>

4 years agosearch: Split out the description highlighter into its own class
Sebastian Keller [Tue, 16 Nov 2021 17:57:26 +0000 (18:57 +0100)]
search: Split out the description highlighter into its own class

No functional change yet, only preparation to allow adding a unit test
later on.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2033>

4 years agowindowManager: Use one consistent animation mode for minimize/unminimize
Daniel van Vugt [Thu, 16 Dec 2021 07:28:20 +0000 (15:28 +0800)]
windowManager: Use one consistent animation mode for minimize/unminimize

Firstly don't use EASE_IN for any minimize/unminimize animations because
those start slow and end fast. The effect of that was minimize/unminimize
appearing to be unresponsive to user clicks for a little while before
accelerating away. All such animations should be EASE_OUT for an immediate
response followed by deceleration at the end.

Secondly we replace the shallow 200ms QUADratic curves with a steeper
400ms EXPOnetial curve. Because it's steeper and twice as long the fast part
feels the same as 200ms QUAD, but there's an extra 200ms after that in which
to slow down smoothly giving a more fluid appearance. No sudden stops.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=786789
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2066>

4 years agowindowManager: Unminimize a window to its buffer rect geometry
Daniel van Vugt [Thu, 16 Dec 2021 07:36:43 +0000 (15:36 +0800)]
windowManager: Unminimize a window to its buffer rect geometry

If you slow down the unminimize animation you will notice it overshoots and
then snaps back, but only for decorated windows. Undecorated windows would
unminimize to their correct position. So we remove decorations from the
equation and now all window types unminimize to their correct position.

This wasn't noticeable because the unminimize animation velocity is usually
so high at the end (EASE_IN_EXPO) that there are no frames rendered near the
end of the curve to show it had overshot.

This appears to be consistent with the Mutter source - associating the
actor geometry with `buffer_rect` and not `frame_rect`. See
`meta_window_actor_sync_actor_geometry` for example.

Related to: https://bugzilla.gnome.org/show_bug.cgi?id=786789#c1

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2066>

4 years agoUpdate Hebrew translation
Yaron Shahrabani [Wed, 22 Dec 2021 15:58:58 +0000 (15:58 +0000)]
Update Hebrew translation

4 years agoshell/app: Re-order running-state cleanup
Florian Müllner [Wed, 22 Dec 2021 00:53:17 +0000 (01:53 +0100)]
shell/app: Re-order running-state cleanup

Since commit 1807be1, we clear the fallback icon when a window is
removed, and notify the icon change. The notify call currently
happens after removing the window from the running state, but
before syncing the state (and possibly clear the running state
altogether).

That state is inconsistent and results in an assertion hit when
some code tries to re-fetch the icon in response to the notify
call.

Address this by updating the state before clearing the fallback
icon, so that the app will be in the correct STOPPED state after
removing the last window.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4888

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2073>

4 years agost/scroll-view-fade: Simplify shader a bit
Sebastian Keller [Mon, 20 Dec 2021 22:15:40 +0000 (23:15 +0100)]
st/scroll-view-fade: Simplify shader a bit

The shader was using too many ALU instructions for Intel 945GM hardware,
so simplify it a bit. The resulting math is the same, but a few
redundant operations have been removed.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4883
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2072>

4 years agoshell/app: Correctly track the window used for the fallback icon
Benjamin Berg [Wed, 15 Dec 2021 15:03:52 +0000 (16:03 +0100)]
shell/app: Correctly track the window used for the fallback icon

We were not properly tracking the window used for the fallback icon.
This could trigger a crash, as disconnection of the signal handler might
happen on the wrong window, which in turn could cause the icon change
notification to happen on a destroyed ShellApp instance.

Fix this by tracking the window used for the fallback icon. Disconnect
the icon notify callback explicitly for this window only when it is
removed.

Also, just to be extra safe, make sure that the icon is never NULL even
if x11_window_create_fallback_gicon should return NULL for some reason.

Closes: #4436
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2065>

4 years agowindowManager: Use MetaWindow.has_attached_dialogs()
Florian Müllner [Tue, 30 Nov 2021 17:31:19 +0000 (18:31 +0100)]
windowManager: Use MetaWindow.has_attached_dialogs()

Now that MetaWindow itself exposes a method for checking for
attached dialogs, we can use that instead of our own helper
method.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2054>

4 years agoUpdate Galician translation
Fran Dieguez [Mon, 20 Dec 2021 10:15:37 +0000 (10:15 +0000)]
Update Galician translation

4 years agoUpdate Turkish translation
Emin Tufan Çetin [Fri, 17 Dec 2021 14:46:03 +0000 (14:46 +0000)]
Update Turkish translation

4 years agoshell/window-tracker: Track all initial windows
Florian Müllner [Wed, 17 Nov 2021 18:17:59 +0000 (19:17 +0100)]
shell/window-tracker: Track all initial windows

meta_workspace_list_windows() doesn't include OR windows, so go
through the newly added meta_display_list_all_windows() instead.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4751

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2029>

4 years agoshell/window-tracker: Track ::window-created
Florian Müllner [Tue, 16 Nov 2021 19:46:58 +0000 (20:46 +0100)]
shell/window-tracker: Track ::window-created

We currently track windows via MetaWorkspace's ::window-added and
::window-removed signals. Those aren't emitted for override-redirect
windows though, as those aren't actually located on any workspace
(see https://gitlab.gnome.org/GNOME/mutter/-/blob/gnome-41/src/core/window.c#L1322).

While that shouldn't be an issue as there's no good reason to look up
the ShellApp of an OR window, extensions can make modifications that
result in OR windows ending up in places that assume that every window
has an associated ShellApp.

We can either
 - accept that extensions break stuff (including badly)
 - carefully handle app-less windows everywhere
 - extend tracking to OR windows

Opt for the last option, as that's the most user-friendly and least
disruptive one.

It's also simpler to track ::window-created and ::unmanaged, as we
don't have to track workspaces or windows moving between workspaces.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4751

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2029>

4 years agoshell/window-tracker: Track windows getting unmanaged
Florian Müllner [Tue, 16 Nov 2021 19:52:11 +0000 (20:52 +0100)]
shell/window-tracker: Track windows getting unmanaged

It makes sense to not rely on workspaces' ::window-removed
signal, and we already do that in ShellApp.

However it is odd to remove a tracked window from the app,
but still track it in the window tracker. Move the code
to remove unmanaged windows from both.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4751

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2029>

4 years agoshell/window-tracker: Do not filter tracked windows by type
Florian Müllner [Thu, 11 Nov 2021 17:40:42 +0000 (18:40 +0100)]
shell/window-tracker: Do not filter tracked windows by type

The window-type property may change, and with it the skip-taskbar
property that decides whether we consider it "interesting".

As a result we can end up showing untracked window, i.e. one
which does not have an associated app.

Cover this case by simply tracking all windows regardless of
their type. This won't change the app's running state, as that
is solely based on the skip-taskbar property (which is enforced
for all previously excluded window types).

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4751

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2029>

4 years agoUpdated Lithuanian translation
Aurimas Černius [Tue, 14 Dec 2021 11:48:30 +0000 (13:48 +0200)]
Updated Lithuanian translation

4 years agoUpdate Russian translation
Aleksandr Melman [Mon, 13 Dec 2021 11:27:43 +0000 (11:27 +0000)]
Update Russian translation

4 years agoUpdate Occitan translation
Quentin PAGÈS [Sat, 11 Dec 2021 11:50:22 +0000 (11:50 +0000)]
Update Occitan translation

4 years agoUpdate Friulian translation
Fabio Tomat [Thu, 9 Dec 2021 23:42:04 +0000 (23:42 +0000)]
Update Friulian translation

4 years agoutil: Wait for initial name owners in DBusSenderCheck before checking
Sebastian Keller [Tue, 23 Nov 2021 01:48:04 +0000 (02:48 +0100)]
util: Wait for initial name owners in DBusSenderCheck before checking

Otherwise an allowed caller might get rejected if the call is right
after a gnome-shell restart and the watchers have not finished running
their callbacks yet.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4813
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2048>

4 years agoswitchMonitor: Only show 'mirror' and 'join' modes when not a laptop
Jonas Ådahl [Thu, 2 Dec 2021 21:04:01 +0000 (22:04 +0100)]
switchMonitor: Only show 'mirror' and 'join' modes when not a laptop

The 'external only' and 'builtin only' options makes no sense if there
are only external monitors.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3276
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2056>

4 years agoci: Bump mutter image
Jonas Ådahl [Sat, 4 Dec 2021 16:12:13 +0000 (17:12 +0100)]
ci: Bump mutter image

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2059>

4 years agomessageList: Give focus to next message on delete
Dylan McCall [Mon, 29 Nov 2021 00:19:35 +0000 (16:19 -0800)]
messageList: Give focus to next message on delete

When the user deletes a message using the keyboard, set the keyboard
focus to the next message, or to the list container itself, so it
remains possible to navigate using the keyboard.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/502
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2053>

4 years agocalendar-server: Calculate event end according to spec if missing
Sebastian Keller [Thu, 4 Nov 2021 12:59:18 +0000 (13:59 +0100)]
calendar-server: Calculate event end according to spec if missing

The ical specification allows events to omit an end, which for dates
means the end is start + 1 day and for date times it is equal to the
start.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4753
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agocalendar-server: Remove the all-day property of events
Sebastian Keller [Thu, 4 Nov 2021 16:07:50 +0000 (17:07 +0100)]
calendar-server: Remove the all-day property of events

The way it is currently calculated is broken for days with DST changes
or leap seconds and it is not needed anymore anyway. This will also make
the fix in the following commit simpler.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agodateMenu: Ignore the allDay property of an event
Sebastian Keller [Thu, 4 Nov 2021 11:48:26 +0000 (12:48 +0100)]
dateMenu: Ignore the allDay property of an event

Given the correct end date this code would be able to determine this
correctly itself and doesn't need to rely on that property. And events
without correct end dates are currently not shown anyway. This prepares
for removing the allDay property entirely.

This also fixes events going from 13:00 the current day to 01:00 not
showing "...". It also fixes multi-day events wrongly detected as
all-day events by the calendar-server showing up as "All day", despite
only covering 1 hour of the day.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agocalendar: Fix inclusion of zero-length events
Sebastian Keller [Thu, 4 Nov 2021 13:09:03 +0000 (14:09 +0100)]
calendar: Fix inclusion of zero-length events

Events with a date time (not just a date) where the end time is missing
or matching the start time were considered to not overlap the selected
interval if they were happening on the start time of the interval. This
was causing such zero-length events to be omitted from the calendar if
they were starting at 0:00.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agocalendar: Start ranges at 0:00 and iterate in whole days
Sebastian Keller [Thu, 4 Nov 2021 14:34:45 +0000 (15:34 +0100)]
calendar: Start ranges at 0:00 and iterate in whole days

Using a starting time other than 0:00 will prevent events before the
chosen starting time from showing up for that range. This was causing
events before 12:00 to be missing in the shell calendar on the first day
of a range.

Fix this by always starting at 0:00 and then incrementing by days rather
than a time value that depending on DST or leap seconds may or may not
correspond to a day.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agodateMenu: Use intervals with non-inclusive ends for date ranges
Sebastian Keller [Thu, 4 Nov 2021 11:42:52 +0000 (12:42 +0100)]
dateMenu: Use intervals with non-inclusive ends for date ranges

The ical events, we are comparing these intervals to use the first point
in time after the end of the event as their end time, while the code in
gnome-shell was using the last point in time within the range. This was
causing multi-day events ranging from 0:00 to 0:00 to have a trailing
"..." shown on the last day.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>

4 years agoUpdate Portuguese translation
Hugo Carvalho [Sat, 27 Nov 2021 15:42:46 +0000 (15:42 +0000)]
Update Portuguese translation

4 years agoUpdate Ukrainian translation
Yuri Chornoivan [Fri, 26 Nov 2021 21:36:23 +0000 (21:36 +0000)]
Update Ukrainian translation

4 years agoUpdate Croatian translation
Goran Vidović [Fri, 26 Nov 2021 18:04:13 +0000 (18:04 +0000)]
Update Croatian translation

4 years agomain: Warn when unsafe mode is toggled
Florian Müllner [Tue, 23 Nov 2021 19:19:14 +0000 (20:19 +0100)]
main: Warn when unsafe mode is toggled

MetaContext:unsafe-mode was added as a debugging tool to temporarily
remove restrictions on privileged APIs. But as it turns out, there
are now extensions that toggle the property permanently. Right now
none of them are malicious (as far as I can see), but it's still a
bad idea and should be discouraged.

Do this with a notification that warns the user when unsafe mode is
enabled non-interactively (i.e. via looking glass), and hopefully
also clarifies what the weird lock icon in the top bar is about.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4798

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2050>

4 years agowindowManager: Set up unfullscreen/app-switch gestures in the capture phase
Carlos Garnacho [Mon, 27 Sep 2021 20:45:47 +0000 (22:45 +0200)]
windowManager: Set up unfullscreen/app-switch gestures in the capture phase

Use the new API to specify the gesture phase.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1992>

4 years agoswipeTracker: Set up TouchSwipeGesture in the capture phase
Carlos Garnacho [Mon, 27 Sep 2021 20:44:37 +0000 (22:44 +0200)]
swipeTracker: Set up TouchSwipeGesture in the capture phase

Use the new API to specify the gesture phase.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1992>

4 years agoUpdate Friulian translation
Fabio Tomat [Mon, 22 Nov 2021 11:06:48 +0000 (11:06 +0000)]
Update Friulian translation

4 years agolayout: Removed unused method
Florian Müllner [Tue, 16 Nov 2021 18:26:33 +0000 (19:26 +0100)]
layout: Removed unused method

Commit a6b4d4945 removed the only caller in 2013(!)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2034>

4 years agoUpdated Lithuanian translation
Aurimas Černius [Sun, 21 Nov 2021 19:43:20 +0000 (21:43 +0200)]
Updated Lithuanian translation

4 years agoUpdate Persian translation
MohammadSaleh Kamyab [Sat, 20 Nov 2021 08:58:41 +0000 (08:58 +0000)]
Update Persian translation

4 years agoUpdate Occitan translation
Quentin PAGÈS [Thu, 18 Nov 2021 20:15:41 +0000 (20:15 +0000)]
Update Occitan translation

4 years agoappDisplay: Remove unused animate() implementations
Evan Welsh [Sat, 30 Oct 2021 22:25:52 +0000 (15:25 -0700)]
appDisplay: Remove unused animate() implementations

Usages were removed in gnome-shell!1593

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2041>

4 years agomodalDialog: Consistently return correct boolean for open() in ModalDialogs
Evan Welsh [Sat, 30 Oct 2021 22:08:12 +0000 (15:08 -0700)]
modalDialog: Consistently return correct boolean for open() in ModalDialogs

Previously these calls either ignored the return from super.open() or
implicitely returned false.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2038>

4 years agokeyring: Fix incorrect reference to the label instead of string
Evan Welsh [Sat, 30 Oct 2021 22:09:39 +0000 (15:09 -0700)]
keyring: Fix incorrect reference to the label instead of string

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2036>

4 years agocalendar: Use boolean operations instead of bitwise operators
Evan Welsh [Sat, 30 Oct 2021 22:30:32 +0000 (15:30 -0700)]
calendar: Use boolean operations instead of bitwise operators

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2039>

4 years agomagnifier: Remove call to dropped Clutter::get_default_frame_rate()
Sebastian Keller [Mon, 8 Nov 2021 04:00:47 +0000 (05:00 +0100)]
magnifier: Remove call to dropped Clutter::get_default_frame_rate()

Clutter::get_default_frame_rate() has been removed in mutter!2002, but
it is still being used here. Given that this was basically hardcoded to
60 in mutter with the only way of changing this being an obscure
environment variable, just use that value here directly. This avoids a
crash when starting gnome-shell with the magnifier enabled.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4761
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2025>

4 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 16 Nov 2021 14:48:18 +0000 (15:48 +0100)]
Updated Spanish translation

4 years agoUpdate Hebrew translation
Yaron Shahrabani [Thu, 11 Nov 2021 22:27:18 +0000 (22:27 +0000)]
Update Hebrew translation

4 years agoenvironment: Require gnome-desktop 3.0
Georges Basile Stavracas Neto [Thu, 11 Nov 2021 19:20:39 +0000 (16:20 -0300)]
environment: Require gnome-desktop 3.0

Pretty much the exact same case of 9ce6756235.

libgnome-desktop saw a major version bump, and we have to
stick with 3.0 for a while.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2030>

4 years agoenvironment: Require GnomeBluetooth 1.0
Georges Basile Stavracas Neto [Sun, 31 Oct 2021 20:24:58 +0000 (17:24 -0300)]
environment: Require GnomeBluetooth 1.0

libgnome-bluetooth will start to offer a 2.0 library version
depending on GTK4. Given that GNOME Shell already depends on
GTK3, it cannot use this next version of gnome-bluetooth. And
since GJS will automatically try and use the latest version
available of any library, Shell must specify it wants 1.0
explicitly.

Add a required GnomeBluetooth version number when importing it
for the status indicator.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2015>

4 years agoUpdate Croatian translation
Goran Vidović [Thu, 11 Nov 2021 09:45:19 +0000 (09:45 +0000)]
Update Croatian translation

(cherry picked from commit ed7153bcbbf29c698226009af6f0df347386609d)

4 years agoUpdate Italian translation
Milo Casagrande [Tue, 9 Nov 2021 08:16:59 +0000 (08:16 +0000)]
Update Italian translation

5 years agomagnifier: Disable desaturation effect when not in use
Sebastian Keller [Mon, 8 Nov 2021 04:19:32 +0000 (05:19 +0100)]
magnifier: Disable desaturation effect when not in use

The desaturation effect was always enabled, regardless of the specified
factor. This was causing the magnifier to always hit offscreen
rendering, even when not necessary. Additionally offscreen rendering is
currently also causing glitches in MetaWindowGroup which this helps to
avoid in some cases.

Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/1678
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2026>

5 years agotheme: Provide :checked state for buttons
Jakub Steiner [Mon, 8 Nov 2021 13:23:53 +0000 (14:23 +0100)]
theme: Provide :checked state for buttons

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4757

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2027>

5 years agoUpdate Portuguese translation
Hugo Carvalho [Sun, 7 Nov 2021 22:35:21 +0000 (22:35 +0000)]
Update Portuguese translation

5 years agoUpdate Occitan translation
Quentin PAGÈS [Sun, 7 Nov 2021 19:31:19 +0000 (19:31 +0000)]
Update Occitan translation

5 years agoUpdate Friulian translation
Fabio Tomat [Sun, 7 Nov 2021 16:50:29 +0000 (16:50 +0000)]
Update Friulian translation

5 years agoUpdate French translation
Charles Monzat [Sun, 7 Nov 2021 14:53:15 +0000 (14:53 +0000)]
Update French translation

(cherry picked from commit 4f2b7300a160e96e66b3b16179d9fb3df3378433)

5 years agoUpdate Slovak translation
Dušan Kazik [Sat, 6 Nov 2021 14:10:47 +0000 (14:10 +0000)]
Update Slovak translation

(cherry picked from commit cc566201b71e86b0a70f722fd155ed5481c5831b)

5 years agoUpdate Polish translation
Piotr Drąg [Sat, 6 Nov 2021 13:27:11 +0000 (14:27 +0100)]
Update Polish translation

5 years agoshellMountOperation: Remove unused volume monitor
Sebastian Keller [Wed, 3 Nov 2021 19:53:55 +0000 (20:53 +0100)]
shellMountOperation: Remove unused volume monitor

It seems to have never been used since 6b5f9a647a, the commit that
introduced it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2021>

5 years agoUpdate German translation
Christian Kirbach [Wed, 3 Nov 2021 20:33:48 +0000 (20:33 +0000)]
Update German translation

(cherry picked from commit 03a3ce062a79a3593fa8933b90e7144504955829)

5 years agoUpdate Indonesian translation
Kukuh Syafaat [Wed, 3 Nov 2021 10:04:19 +0000 (10:04 +0000)]
Update Indonesian translation

(cherry picked from commit 0512d1fff4b9d62dd6a034ef197a9c4081db17df)

5 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Wed, 3 Nov 2021 01:19:46 +0000 (01:19 +0000)]
Update Brazilian Portuguese translation

(cherry picked from commit ba32dcc16b93986741bfbb3219d1375d0a8fd8be)

5 years agoUpdate Swedish translation
Anders Jonsson [Tue, 2 Nov 2021 21:05:16 +0000 (21:05 +0000)]
Update Swedish translation

(cherry picked from commit edcee44c720203977e77ad2a0f857dc6e0080f4b)

5 years agoUpdate Ukrainian translation
Yuri Chornoivan [Tue, 2 Nov 2021 16:31:49 +0000 (16:31 +0000)]
Update Ukrainian translation

(cherry picked from commit f8cdac49c6dd8e8e364ecdabbde3bbd40f072101)

5 years agoinputMethod: Do not reset invisible preedit on focus_out
Carlos Garnacho [Fri, 29 Oct 2021 14:46:18 +0000 (16:46 +0200)]
inputMethod: Do not reset invisible preedit on focus_out

If the preedit is in invisible state, the last preedit string that
was sent around is already null, so there is no need to clear the preedit
in that case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011>

5 years agoinputMethod: Do not communicate preedit text change on reset
Carlos Garnacho [Fri, 29 Oct 2021 14:43:15 +0000 (16:43 +0200)]
inputMethod: Do not communicate preedit text change on reset

This is now done in the ClutterInputFocus for us, since
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1940. There
is no need to duplicate this call, and it happens to cause undesired
scrolling to content in some cases when this reset happens during
a change in the IM focused client state.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4647
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011>

5 years agoinputMethod: Equate empty preedit string to null
Carlos Garnacho [Fri, 29 Oct 2021 14:41:55 +0000 (16:41 +0200)]
inputMethod: Equate empty preedit string to null

If we get '' from the IM as the preedit string, it is pretty safe
to handle it as "no preedit" altogether.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2011>

5 years agodbusServices/extensions: Only allow one dialog at a time
Florian Müllner [Tue, 26 Oct 2021 17:40:08 +0000 (19:40 +0200)]
dbusServices/extensions: Only allow one dialog at a time

Showing multiple preference dialogs at the same time (for instance
by repeated `gnome-extensions prefs` calls) may or may not work as
expected, depending on whether any of the dialogs is modal or not
(read: opened via the Extensions app).

The easiest way to address this is to disallow more than a single
dialog at the time. It's arguably also the more predictable behavior,
and means extensions don't have to deal with inconsistent state
caused by multiple dialogs.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>

5 years agodbusServices/extensions: Fix shutdown after showing prefs
Florian Müllner [Thu, 28 Oct 2021 17:27:57 +0000 (19:27 +0200)]
dbusServices/extensions: Fix shutdown after showing prefs

GTK4 relies entirely on refcounting for cleanup (that is,
there is no longer a destroy() method that forces a dispose
run regardless of the refcount).

Unfortunately that makes cleanup harder in (some) language
bindings, where an object may be kept alive implicitly by
closures etc.

Address this by releasing the hold count when the window
is closed rather than when it is destroyed.

This isn't the most elegant, but it ensure that the service
doesn't get stuck if an extension doesn't carefully clean
up everything in its prefs widget.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>

5 years agoextensions-tool/prefs: Log D-Bus errors
Florian Müllner [Thu, 28 Oct 2021 17:55:23 +0000 (19:55 +0200)]
extensions-tool/prefs: Log D-Bus errors

We currently ignore any error that may occur when calling the
OpenExtensionPrefs D-Bus method. Right now such an error is highly
unlikely, given that we already checked that we are running under
gnome-shell and the extension in question exists and has prefs.

We'll soon make sure that only one dialog is shown at any time,
which is an error that we can realistically expect, so handle that
properly.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>

5 years agoextensions-tool: Add missing newline
Florian Müllner [Thu, 28 Oct 2021 18:05:03 +0000 (20:05 +0200)]
extensions-tool: Add missing newline

Unlike g_warning() and friends, g_printerr() does not append
a trailing newline.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2013>

5 years agoshell/app: Don't move all workspace windows to their startup workspace
Sebastian Keller [Sat, 30 Oct 2021 11:21:17 +0000 (13:21 +0200)]
shell/app: Don't move all workspace windows to their startup workspace

Windows from some applications, such as guake, are created as showing on
all workspaces. When these windows are put on the workspaces via
set_workspace_state() during construction, the first time the window is
added to a workspace in the loop triggers the shell app tracker which
then tries to move the window to its startup workspace. This makes the
window unsticky which triggers another set_workspace_state() which
tries to remove the window from all workspaces, but currently it is only
on the first one and then adds it to the startup workspace. Once that is
finished, the first set_workspace_state() continues adding the window
to the remaining workspaces, despite the window now no longer having
on_all_workspaces set to true.

When the window is now unmanaged, the window according to its internal
state is only found on the startup workspace, so it will only be removed
from that. This causes the assertion to fail that checks that the window
is no longer present on any workspace after this.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4720

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2014>

5 years agoRevert "st: Only use clutter_actor_invalidate_paint_volume() if the API exists"
Carlos Garnacho [Wed, 27 Oct 2021 17:21:08 +0000 (19:21 +0200)]
Revert "st: Only use clutter_actor_invalidate_paint_volume() if the API exists"

Since we are past the 40 API change hurdle, it is safe to revert this
commit.

This reverts commit 1cefd589da2edca84d19b285d553e2a68cda3e37.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2010>

5 years agoUpdate Persian translation
eshagh shahidani [Mon, 25 Oct 2021 20:42:25 +0000 (20:42 +0000)]
Update Persian translation

(cherry picked from commit 025588b89ac5736bd319a2982622aa9ae139d2c2)

5 years agoUpdate Latvian translation
Rūdolfs Mazurs [Mon, 25 Oct 2021 17:56:42 +0000 (17:56 +0000)]
Update Latvian translation

(cherry picked from commit ce2ae0642f2e6c20dd94d5740e00cbe781bd71ca)

5 years agoenvironment: Apply autoReverse/repeatCount to all transitions
Florian Müllner [Thu, 21 Oct 2021 17:50:18 +0000 (19:50 +0200)]
environment: Apply autoReverse/repeatCount to all transitions

Like the old Tweener API, ease() allows to transition multiple
properties at once. If autoReverse or repeatCount are specified,
they should apply to all transitions, but right now we only set
them for the first one.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2007>

5 years agoUpdate Kabyle translation
Selyan Slimane AMIRI [Sat, 16 Oct 2021 14:35:12 +0000 (14:35 +0000)]
Update Kabyle translation

(cherry picked from commit 8c5d552cc2f045bf40529eae436e30d46cf74c71)

5 years agosessionMode: Drop allowExtensions property
Ray Strode [Tue, 28 Sep 2021 19:31:11 +0000 (15:31 -0400)]
sessionMode: Drop allowExtensions property

Now that we allow extensions at the lock screens, extensions
are allowed for every session mode gnome-shell would typically
change to at runtime.

This means there's little advantage to having an allowExtensions
property in the session mode definition.

This commit simplifies the code a bit by dropping the property.

Third party session modes can still lock down extensions through
gsettings if they need to.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1967>

5 years agosessionMode: Allow extensions at the login and unlock screens
Ray Strode [Tue, 10 Aug 2021 19:31:00 +0000 (15:31 -0400)]
sessionMode: Allow extensions at the login and unlock screens

Now extensions can specify which session modes they work in,
but specifying the login screen or unlock screen session modes in
an extensions metadata still won't work, because those session
modes disallow extensions.

This commit fixes that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1967>

5 years agoextensionSystem: Allow extensions to run on the login screen
Ray Strode [Sat, 28 Aug 2021 17:54:39 +0000 (13:54 -0400)]
extensionSystem: Allow extensions to run on the login screen

At the moment it's not realy possible to extend the login screen to do
things it doesn't have built-in support for. This means in order
to support niche use cases, those cases have to change the main
code base. For instance, oVirt and Vmware deployments want to be able
to automaticaly log in guest VMs when a user pre-authenticates through a
console on a management host. To support those use cases, we added
code to the login screen directly, even though most machines will never
be associated with oVirt or Vmware management hosts.

We also get requests from e.g. government users that need certain features
at the login screen that wouldn't get used much outside of government
deployments. For instance, we've gotten requests that a machine contains
prominently displays that it has "Top Secret" information.

All of these use cases seem like they would better handled via
extensions that could be installed in the specific deployments. The
problem is extensions only run in the user session, and get
disabled at the login screen automatically.

This commit changes that. Now extensions can specify in their metadata
via a new sessionModes property, which modes that want to run in. For
backward compatibility, if an extension doesn't specify which session
modes it works in, its assumed the extension only works in the user
session.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1967>

5 years agoextensionSystem: Get rid of _enabled boolean optimization
Ray Strode [Tue, 10 Aug 2021 17:25:57 +0000 (13:25 -0400)]
extensionSystem: Get rid of _enabled boolean optimization

At the moment a session mode either allows extensions or it doesn't.
If it allows extensions, then the entire available list of
configured extensions get enabled as soon as the session mode is
entered.

Since enabling or disabling extensions is an all or nothing situation,
the code tracks whether extensions are already enabled when entering
the session mode, and if so, avoids iterating through the extension list
needlessly. It does this using a boolean named _enabled.

In the future, the extensions themselves will be given some say on
whether or not they should be enabled in a given session mode. This
means, the configured extension list may contain extensions that
shouldn't be enabled for a given session mode, and the _enabled boolean
will no longer be appropriated.

This commit drops the _enabled boolean optimization.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1967>